package org.hawk.gwt.ppc.scanner.utils;
/**
 * Common interface for classes that can resolve types.
 * 
 * @author alex.bereznevatiy@gmail.com
 */
public interface JavaNameResolver {
	/**
	 * @param type
	 * @return resolves type descriptor of type name passed.
	 */
	JavaClassDescriptor resolveTypeDescriptor(String typeName);
	/**
	 * Resolves type parameter by its name.
	 * @param name
	 * @return parameter matching name or <code>null</code> in case there aren't such a parameter.
	 */
	JavaTypeVariable resolveTypeParameter(String pureType);
	
	/**
	 * 
	 * @param typeSimpleName
	 * @return
	 */
	String resolveType(String typeSimpleName);
}
